/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package transervfx.Vista;

import java.io.IOException;
import java.net.URL;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Tab;
import javafx.stage.Stage;
import transervfx.Dato.Entidad.Cliente;
import transervfx.Dato.Entidad.Fisico;
import transervfx.Dato.Entidad.Juridico;
import transervfx.Logica.GestorCliente;
import transervfx.Vista.XML.pathRecusosFXML;
import transervfx.Vista.CompPersonalizado.Cliente.ModificarClienteFisico;
import transervfx.Vista.CompPersonalizado.Cliente.ModificarClienteJuridico;

/**
 *
 * @author meli
 */
public class ModificarCliente extends VentanaModal {

    @FXML
    private Tab tabFisicos;
    @FXML
    private Tab tabJuridicos;
    @FXML
    private ModificarClienteFisico clienteFisico;
    @FXML
    private ModificarClienteJuridico clienteJuridico;

    public ModificarCliente(Stage ventanaPadre, String titulo, int x, int y) {
        super(ventanaPadre, titulo, x, y);
      
    }
    

    public ModificarCliente(Cliente clienteSeleccionado, ABMCliente ventanaPadre, String titulo, int x, int y) {
        super( ventanaPadre, titulo, x,  y);
        
        
        
        if(clienteSeleccionado instanceof Fisico){
            System.out.println("FISICO");
          this.tabJuridicos.setDisable(true);
          this.clienteFisico.setVentanaContenedora(this);
          this.clienteFisico.setClienteFisico((Fisico)clienteSeleccionado);
           this.tabFisicos.getTabPane().getSelectionModel().select(tabFisicos);
        }
        if(clienteSeleccionado instanceof Juridico){
          
          this.tabFisicos.setDisable(true);
          this.clienteJuridico.setVentanaContenedora(this);
          this.clienteJuridico.setClienteJuridico((Juridico)clienteSeleccionado);
          this.tabJuridicos.getTabPane().getSelectionModel().select(tabJuridicos);
        }
  
        
        

    }
    
    

    

    public void buttonAceptar(ActionEvent event) throws NoSuchMethodException, IOException {
      
     
        if (tabFisicos.isSelected()) {
            clienteFisico.buttonAceptar();
        } else {
            if (tabJuridicos.isSelected()) {
                clienteJuridico.buttonAceptar();
            }
        }
        //System.out.println("CLIENTE FISICO "+clienteFisico.getCliente().getNroDoc()+clienteFisico.getCliente().getDomicilio());
    }

    public void buttonCancelar(ActionEvent event) {
        this.close();
    }

    @Override
    URL getURLFXML() {
        return pathRecusosFXML.class
                .getResource("ModificarClienteFXML.fxml");
    }
    
    public ABMCliente getVentanaPadre(){
       return  (ABMCliente)super.ventanaPadre;
    }
}

